package in.data.stream; import android.os.Parcel; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import java.util.List; import in.data.Meta; import in.data.stream.base.Stream; import in.lib.utils.Debug; import in.lib.utils.SerialReaderUtil; import in.model.ChannelMessage; import in.model.base.Model; public class ChannelMessageStream extends Stream<ChannelMessage> { @Override public ChannelMessageStream createFrom(JsonElement element) { if (super.createFrom(element) != null) { try { JsonObject streamObject = element.getAsJsonObject(); JsonElement dataObject = streamObject.get("data"); this.items = new ChannelMessage().createListFrom(dataObject); return this; } catch (Exception e) { Debug.out(e); } } return null; } @Override public List<? extends Model> createListFrom(JsonElement element) { return null; } @Override public ChannelMessageStream createFrom(Parcel parcel) { super.createFrom(parcel); return this; } @Override public String getVersion() { return "52b2f83e-48b8-4702-9991-7207519f96a4"; } @Override public ChannelMessageStream read(SerialReaderUtil util) { try { String version = util.readString(); if (!version.equals(getVersion())) return null; meta = util.readModel(Meta.class); items = util.readModelList(ChannelMessage.class); return this; } catch (Exception e) { Debug.out(e); } return null; } public static final Creator<ChannelMessageStream> CREATOR = new Creator<ChannelMessageStream>() { @Override public ChannelMessageStream[] newArray(int size) { return new ChannelMessageStream[size]; } @Override public ChannelMessageStream createFromParcel(Parcel source) { return new ChannelMessageStream().createFrom(source); } }; }